package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

@Data
@TableName("RoundConfig")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class OtherRoundConfig {
    @TableId
    private Long id;
    @TableField("roomID")
    private String roomID;
    @TableField("roundStartCron")
    private String roundStartCron;
    @TableField("roundStartCronMinute")
    private Integer roundStartCronMinute;
    @TableField("roundCount")
    private Integer roundCount;
    @TableField("manualRoundCount")
    private Integer manualRoundCount;
    @TableField("scheduledHours")
    private String scheduledHours;
    @TableField("enableRoundMaxDelayLimitInSeconds")
    private Boolean enableRoundMaxDelayLimitInSeconds;
    @TableField("roundMaxDelayLimitInSeconds")
    private Integer roundMaxDelayLimitInSeconds;
    @TableField("enableAtAllBeforeRound")
    private Boolean enableAtAllBeforeRound;

    @TableField("enableRoundDoc")
    private Boolean enableRoundDoc;
    @TableField("roundDoc")
    private String roundDoc;
    @TableField("replyMode")
    private String replyMode;
    @TableField("biddingDurationInMinutes")
    private Integer biddingDurationInMinutes;
    @TableField("rawBiddingHierarchy")
    private String rawBiddingHierarchy;
    @TableField("maxSlotLimit")
    private Integer maxSlotLimit;
    @TableField("minSlotLimit")
    private Integer minSlotLimit;
    @TableField("enableSpeed")
    private Boolean enableSpeed;
    @TableField("maxPrioritizedSpeedSlotLimit")
    private Integer maxPrioritizedSpeedSlotLimit;
    @TableField("speedMode")
    private String speedMode;

    @TableField("randomSpeedModeCandidates")
    private String randomSpeedModeCandidates;
    @TableField("customSpeedKeywords")
    private String customSpeedKeywords;
    @TableField("garbledCodeModeCustomLetters")
    private String garbledCodeModeCustomLetters;
    @TableField("garbledCodeModeCustomNumbers")
    private String garbledCodeModeCustomNumbers;
    @TableField("garbledCodeModeCustomChinese")
    private String garbledCodeModeCustomChinese;
    @TableField("textModeCustomText")
    private String textModeCustomText;
    @TableField("enablePrioritizedSpeedDowngraded")
    private Boolean enablePrioritizedSpeedDowngraded;
    @TableField("maxToptaskSlotLimit")
    private Integer maxToptaskSlotLimit;
    @TableField("enableToptaskReplaceToptask")
    private Boolean enableToptaskReplaceToptask;
    @TableField("enableToptaskReplacePrioritizedSpeed")
    private Boolean enableToptaskReplacePrioritizedSpeed;

    @TableField("enableBidForOthers")
    private Boolean enableBidForOthers;
    @TableField("enableBidOnlyWithFloat")
    private Boolean enableBidOnlyWithFloat;
    @TableField("biddingCooldownScope")
    private String biddingCooldownScope;
    @TableField("enablePrintMinBiddingTask")
    private Boolean enablePrintMinBiddingTask;
    @TableField("fillInDurationInMinutes")
    private Integer fillInDurationInMinutes;
    @TableField("fillInMinTaskLimit")
    private String fillInMinTaskLimit;
    @TableField("enablePrintFillInTimeout")
    private Boolean enablePrintFillInTimeout;
    @TableField("enablePrintFillInDeadline")
    private Boolean enablePrintFillInDeadline;
    @TableField("enableCutIn")
    private Boolean enableCutIn;
    @TableField("rawCutInHierarchy")
    private String rawCutInHierarchy;

    @TableField("cutInMinTaskLimit")
    private String cutInMinTaskLimit;
    @TableField("cutInDurationInMinutes")
    private Integer cutInDurationInMinutes;
    @TableField("takeOutDurationInMinutes")
    private Integer takeOutDurationInMinutes;
    @TableField("enableTakeOutByOthers")
    private Boolean enableTakeOutByOthers;
    @TableField("enableSoloKill")
    private Boolean enableSoloKill;
    @TableField("soloKillMinTaskLimit")
    private Double soloKillMinTaskLimit;
    @TableField("enableBuy8OnlyAfterRoundFixed")
    private Boolean enableBuy8OnlyAfterRoundFixed;
    @TableField("enableBuy8Bidding")
    private Boolean enableBuy8Bidding;
    @TableField("enableBuy8ByOthers")
    private Boolean enableBuy8ByOthers;
    @TableField("rawBuy8Hierarchy")
    private String rawBuy8Hierarchy;

    @TableField("buy8MinTaskLimit")
    private Double buy8MinTaskLimit;
    @TableField("buy8FactorMultiplyMode")
    private String buy8FactorMultiplyMode;
    @TableField("buy8TaskFactor")
    private Integer buy8TaskFactor;
    @TableField("buyHeadMinTaskLimit")
    private Double buyHeadMinTaskLimit;
    @TableField("buyHeadFactorMultiplyMode")
    private String buyHeadFactorMultiplyMode;
    @TableField("buyHeadTaskFactor")
    private Integer buyHeadTaskFactor;
    @TableField("scheduledPrintMicOrderInMinutes")
    private String scheduledPrintMicOrderInMinutes;
    @TableField("enablePrintHostInfo")
    private Boolean enablePrintHostInfo;
    @TableField("enableAddHostToMicOrder")
    private Boolean enableAddHostToMicOrder;
    @TableField("enableCancelSpeed")
    private Boolean enableCancelSpeed;

    @TableField("enableCancelTask")
    private Boolean enableCancelTask;
    @TableField("enableCancelBossTask")
    private Boolean enableCancelBossTask;
    @TableField("enableCancelByOthers")
    private Boolean enableCancelByOthers;
    @TableField("enableCancelByRecallMsg")
    private Boolean enableCancelByRecallMsg;
    @TableField("enableCancelAfterRoundFixed")
    private Boolean enableCancelAfterRoundFixed;
    @TableField("enableCancelToptask")
    private Boolean enableCancelToptask;
    @TableField("enableCancelWhenAbsence")
    private Boolean enableCancelWhenAbsence;
    @TableField("enableRecordAbsenceByOthers")
    private Boolean enableRecordAbsenceByOthers;
    @TableField("allowedCancelDurationLimitInMinutes")
    private Long allowedCancelDurationLimitInMinutes;
    @TableField("enablePostponeAfterCancel")
    private Boolean enablePostponeAfterCancel;


    @TableField("enableCombo")
    private Boolean enableCombo;
    @TableField("enableAtRoundSingers")
    private Boolean enableAtRoundSingers;
    @TableField("enableCheatingDetect")
    private Boolean enableCheatingDetect;
    @TableField("enablePassTask")
    private Boolean enablePassTask;
    @TableField("enableTransferMicOrder")
    private Boolean enableTransferMicOrder;
    @TableField("enablePrintTaskWithIntegerFormat")
    private Boolean enablePrintTaskWithIntegerFormat;
    @TableField("enableAddFixedSingersToMicOrder")
    private Boolean enableAddFixedSingersToMicOrder;
    @TableField("enableAtFixedSingersWhenRoundStart")
    private Boolean enableAtFixedSingersWhenRoundStart;
    @TableField("enablePrintMicOrdersAfterBidding")
    private Boolean enablePrintMicOrdersAfterBidding;
    @TableField("dailySummaryItems")
    private String dailySummaryItems;

    @TableField("enableClockInWhenCronRoundEnd")
    private Boolean enableClockInWhenCronRoundEnd;
    @TableField("enableClockInWhenExactRoundEnd")
    private Boolean enableClockInWhenExactRoundEnd;
    @TableField("enableClockInOnlyWhenHostChange")
    private Boolean enableClockInOnlyWhenHostChange;
    @TableField("clockInItems")
    private String clockInItems;
    @TableField("enableDetailWorkloadWhenClockIn")
    private Boolean enableDetailWorkloadWhenClockIn;
    @TableField("enableTempRound")
    private Boolean enableTempRound;
    @TableField("roundPeriodUnitSize")
    private Integer roundPeriodUnitSize;
    @TableField("enableDetectCombo")
    private Boolean enableDetectCombo;
    @TableField("enableBlackAutoProhibit")
    private Boolean enableBlackAutoProhibit;
    @TableField("enableRandomPrioritySpeed")
    private Boolean enableRandomPrioritySpeed;

    @TableField("enableTaskCombo")
    private Boolean enableTaskCombo;
    @TableField("enableDoClockInDetail")
    private Boolean enableDoClockInDetail;
    @TableField("enableSongMenuClaim")
    private Boolean enableSongMenuClaim;
    @TableField("buy8DurationInMinutes")
    private Integer buy8DurationInMinutes;
    @TableField("enableNoBackToBlackList")
    private Boolean enableNoBackToBlackList;
    @TableField("enableAllQuery")
    private Boolean enableAllQuery;
    @TableField("enableCumulativeTaskRemind")
    private Boolean enableCumulativeTaskRemind;
    @TableField("enableTaskNoPassRemind")
    private Boolean enableTaskNoPassRemind;
    @TableField("allowedTaskNoPassInMinutes")
    private Integer allowedTaskNoPassInMinutes;

    @TableField(exist = false)
    private Integer roundFixedMinute;
    @TableField(exist = false)
    private Integer fillInDurationInMinutesAfterClock;
    @TableField(exist = false)
    private String host;
    @TableField(exist = false)
    private String exactHost;
    @TableField(exist = false)
    private Integer takeOutDurationInMinutesAfterClock;
    @TableField(exist = false)
    private Integer buy8DurationInMinutesAfterClock;


}
